为什么C++操作符<<重载老是提示:operator <<' is ambiguous

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:35:51
为什么C++操作符<<重载老是提示:operator <<' is ambiguous.明明我的函数ostream &operator<<(ostream &os,mycomplex& second)不可能跟库函数冲突啊,如果我把<<改成 | 载,编译就可以通过,晕死了,请各位高手不吝赐教
已经是声明为友元函数的,但是不行啊.

<<和>>的重载必须作为类的友元函数,不能作为成员函数.
所有应该在你的mycomplex类中,加上friend ostream& operator<<(ostream &os, mycomplex &second);的声明,
然在在.cpp文件中实现该函数就可以了.

ostream本来就有这个操作了吧

你写成friend ostream &operator<<(ostream &os,mycomplex& second)
再试试看